package com.jsyl.lwbk.business.mapper;

import com.jsyl.lwbk.business.domain.Integration;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IntegrationMapper {

    /**
     *
     * @param projectName
     * @return
     */
    List<Integration> getPage(@Param("projectName") String projectName);
    /**
     *
     * @param leafType 节点类型
     * @return
     */
    List<Integration> findList(@Param("leafType") List<Integer> leafType);

    /**
     * 根据ID获取项目编号
     * @param ids
     * @return
     */
    String getCodeById(@Param("ids")List<String> ids);

    /**
     * 根据年龄获取符合的项目
     * @param age
     * @return
     */
    List<Integration> selectByAge(@Param("age") Integer age);

    /**
     * 根据项目编号获取项目
     * @param codes
     * @return
     */
    List<Integration> findListByCode(@Param("codes")List<String> codes);

    /**
     * 根据项目编号获取项目
     * @param code
     * @return
     */
    List<Integration> findListLikeCode(@Param("code")String code,@Param("age")Integer age);

    String getCodeName(@Param("projectCode")String projectCode);

    Integration selectById(@Param("id") Long id);

    int update(Integration integration);

    List<Long> listNoConfigChiIds(@Param("projectCode")String projectCode,
                                  @Param("startAge") Integer startAge,
                                  @Param("endAge") Integer endAge);

    int selectProjectCountByAge(@Param("projectCode")String projectCode,
                           @Param("age") Integer age);
}
